100% Free & Open Source

The Free Zalo CLI
for Developers

Send messages, manage groups, and listen for real-time events, all from your terminal. No license keys, no subscriptions, no device limits. Open source, MIT licensed, forever free.

# Install openzca
$ npm i -g openzca@latest
 
# Login with QR code
$ openzca auth login
Scan the QR code with your Zalo app...
Logged in successfully!
 
# Send a message
$ openzca msg send 123456 "Hello from CLI!"
Message sent.

Full-featured Zalo CLI. No license required.

Every command you need for Zalo automation, from messaging to group management. All free, all open source.

🔒

QR Code Login

Scan QR or login via credential file. Inline QR rendering in Ghostty, Kitty, WezTerm, and iTerm2. ASCII fallback for other terminals.

👥

Multi-Account

Manage multiple Zalo accounts with named profiles. Switch instantly between personal, work, and bot accounts.

💬

Rich Messaging

Send text, images, videos, voice, files, stickers, contact cards, links, and reactions. Forward, delete, or recall messages and view recent chat history.

Real-time Listener

WebSocket-powered listener with webhook integration, auto-reconnect, inbound media caching, raw JSON output, and prefix filtering. OpenClaw compatible.

👷

Group Management

Create and configure groups, manage members and deputies, handle invite links and join requests.

👤

Friend Management

Search users by phone or username, send friend requests, manage aliases, block or unblock contacts.

🛠

Profile & Status

View and update your Zalo profile, change avatars, set online status, and check last-seen times.

🌱

Free & Open Source

MIT licensed. No license keys, no activation codes, no subscriptions, no device limits. Forever free.

Up and running in seconds

Choose your preferred installation method. Requires Node.js 18 or higher.

Terminal
$ npm i -g openzca@latest
Terminal
$ curl -fsSL https://openzca.com/install.sh | bash
PowerShell
PS> irm https://openzca.com/install.ps1 | iex
Terminal
$ npx openzca --help
# Run without installing globally

Start automating in 5 steps. No purchase required.

Install, login, and start sending, all in under a minute.

1

Install openzca

Install globally via npm or use the one-line installer script. Requires Node.js 18+.

2

Login with QR code

Run openzca auth login and scan the QR code with your Zalo app. Done.

3

Send your first message

Use openzca msg send <userId> "Hello!" to send text, images, videos, and more.

4

Set up real-time listener

Run openzca listen --webhook URL to receive messages in real-time via webhook.

5

Manage multiple accounts

Create profiles with openzca account add work and switch between them instantly.

Use with OpenClaw

openzca powers the ZaloUser plugin in OpenClaw, giving you AI-driven Zalo automation out of the box.

OpenClaw ZaloUser Plugin Free

A smarter way to automate Zalo

OpenClaw is an AI agent platform that connects to multiple messaging services. With the ZaloUser plugin, it uses openzca under the hood to send and receive Zalo messages automatically.

If you prefer a visual, no-code approach instead of the CLI, OpenClaw + ZaloUser is a great alternative to zca-cli. Just install the plugin, scan the QR code, and let your AI agent handle the rest.

Watch the video to see how it works in action.

Frequently Asked Questions

Yes, 100% free and open source under the MIT license. No license keys, no subscriptions, no feature limits. You can use it for personal projects and research without any cost.
No. openzca is an independent, unofficial, third-party open-source project. It is not affiliated with, endorsed by, sponsored by, or associated with Zalo or VNG Corporation in any way. It uses the publicly available zca-js library for API interactions. Using automation tools may violate Zalo's Terms of Service and could result in account restrictions. Use at your own risk and responsibility.
openzca is intended for educational purposes, personal research, and legitimate personal automation. It provides a CLI interface to explore Zalo's messaging capabilities from a developer's perspective. Users are solely responsible for ensuring their use complies with all applicable laws and Zalo's Terms of Service.
Ghostty, Kitty, WezTerm, and iTerm2 support inline QR rendering via the Kitty Graphics Protocol or iTerm2 inline images. All other terminals get an ASCII QR fallback, or you can save the QR to a file and open it manually.
Yes! openzca has a built-in profile system. Create named profiles for each account, switch between them with a single command, or specify a profile per command with the --profile flag.
Node.js 18 or higher is required. openzca runs on macOS, Linux, and Windows. No additional dependencies needed, everything is installed via npm.
zca-cli requires a paid license with a multi-step activation process (support codes, bank transfer, device binding). openzca is 100% free, open source (MIT license), and works immediately after install, no license keys, no activation, no device limits. Same core features plus more: messaging, file transfers, groups, friends, profiles, real-time listening with inbound media caching, and debug logging. Both "openzca" and "zca" work as command names. The source code is publicly available on GitHub for full transparency and community contributions.

Important Legal Notice

Disclaimer & Legal Notice

  • openzca is an independent, unofficial, third-party open-source project. It is not affiliated with, endorsed by, sponsored by, or associated with Zalo or VNG Corporation in any way.
  • "Zalo" is a registered trademark of VNG Corporation. All trademarks, service marks, and trade names referenced herein are the property of their respective owners and are used solely for identification and descriptive purposes.
  • This software is provided for educational purposes, personal research, and legitimate personal automation only. It is intended as a developer tool for exploring messaging APIs from a research perspective.
  • openzca is built on the publicly available zca-js open-source library (MIT license). No proprietary code belonging to Zalo or VNG Corporation is included in this project.
  • Using automation tools may violate Zalo's Terms of Service and could result in account suspension or restrictions. Users are solely responsible for ensuring their use complies with all applicable laws, regulations, and Zalo's Terms of Service.
  • This software is provided "as is", without warranty of any kind, express or implied. The authors and contributors shall not be held liable for any damages arising from the use of this software.
  • By using openzca, you acknowledge that you understand and accept these terms and that you use this tool at your own risk and responsibility.

Open source, community driven

Join the community. Contribute on GitHub, report issues, or just star the repo.